package demo;

import entity.Person;

import java.lang.reflect.Constructor;

public class Demo6 {
    public static void main(String[] args) throws Exception{
        //使用反射创建对象
        //1.使用Class对象中newInstance方法
        //2.使用构造方法对象中newInstance方法
        Class clz=Class.forName("entity.Person");
        Object person=clz.newInstance();//其实就是调用无参构造
        System.out.println(person);

        Constructor constructor = clz.getDeclaredConstructor(String.class);
        Object person2=constructor.newInstance("张三");
        System.out.println(person2);


        Constructor constructor2 = clz.getDeclaredConstructor(String.class,Integer.class);
        constructor2.setAccessible(true);
        Object person3=constructor2.newInstance("李四",18);
        System.out.println(person3);

    }
}
